#define _CRT_SECURE_NO_WARNINGS
#include "1.13_hs.h"
size_t strlen_f(const char* p)
{
	int ret = 0;
	while (*p++)
	{
		ret++;
	}
	return ret;
}

size_t strlen_s(const char* p)
{
	const char* s = p;
	while (*p++)
	{
		;
	}
	return p - s;
}

size_t strlen_t(const char* p)
{
	if (!*p)
		return 0;
	else
		return 1 + strlen_t(p++);
}

char* my_strcpy(char* b1, const char* b2)
{
	assert(b1 && b2);
	char* const s = b1;
	while (*b2)
	{
		*b1++ = *b2++;
	}
	*b1 = *b2;
	return s;
}

char* my_strcat(char* b1, const char* b2)
{
	assert(b1 && b2);
	char* const s = b1;
	while (*++b1)
	{
		;
	}
	while (*b2)
	{
		*b1++ = *b2++;
	}
	*b1 = *b2;
	return s;
}